package com.relytosoft.mizar.analyze.structure.api.pojo.query;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @Author: zyc
 * @version: v1.0
 * @Date: 2022/5/12 18:02
 */
@ApiModel("AyStructureTaskQuery")
public class AyStructureTaskQuery {

    private static final long serialVersionUID = 1L;

    /**
     * 任务名称
     */
    @ApiModelProperty(value = "任务名称")
    private String name;

    /**
     * 任务类型;1：实时任务，2：离线视频任务，3：离线文件任务
     */
    @ApiModelProperty(value = "任务类型;1：实时任务，2：离线视频任务，3：离线文件任务")
    private Integer type;

    /**
     * 设备
     */
    @ApiModelProperty(value = "设备")
    private List<String> cameraIds;


    /**
     * 任务开始时间;(实时任务、离线视频任务)
     */
    @ApiModelProperty(value = "任务开始时间;(实时任务、离线视频任务)")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime beginTime;

    /**
     * 任务结束时间;(实时任务、离线视频任务)
     */
    @ApiModelProperty(value = "任务结束时间;(实时任务、离线视频任务)")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime endTime;

    /**
     * 状态 -1-未启动，0-创建中，1-运行中，2-已结束，3-异常
     */
    @ApiModelProperty(value = "状态;-1-未启动，0-创建中，1-运行中，2-已结束，3-异常")
    private Integer status;


    /**
     * 获得任务名称
     */
    public String getName() {
        return this.name;
    }

    /**
     * 设置任务名称
     */
    public void setName(String name) {
        this.name = name;
    }


    /**
     * 获得任务开始时间;(实时任务、离线视频任务)
     */
    public LocalDateTime getBeginTime() {
        return this.beginTime;
    }

    /**
     * 设置任务开始时间;(实时任务、离线视频任务)
     */
    public void setBeginTime(LocalDateTime beginTime) {
        this.beginTime = beginTime;
    }

    /**
     * 获得任务结束时间;(实时任务、离线视频任务)
     */
    public LocalDateTime getEndTime() {
        return this.endTime;
    }

    /**
     * 设置任务结束时间;(实时任务、离线视频任务)
     */
    public void setEndTime(LocalDateTime endTime) {
        this.endTime = endTime;
    }

    /**
     * 获得任务类型;1：实时任务，2：离线视频任务，3：离线文件任务
     */
    public Integer getType() {
        return this.type;
    }

    /**
     * 设置任务类型;1：实时任务，2：离线视频任务，3：离线文件任务
     */
    public void setType(Integer type) {
        this.type = type;
    }

    /**
     * 获得状态 :正在运行 ：已停止 ：已删除
     */
    public Integer getStatus() {
        return this.status;
    }

    /**
     * 设置状态 :正在运行 ：已停止 ：已删除
     */
    public void setStatus(Integer status) {
        this.status = status;
    }


    /**
     * 获得设备ID
     */
    public List<String> getCameraIds() {
        return cameraIds;
    }

    /**
     * 设置设备ID
     */
    public void setCameraIds(List<String> cameraIds) {
        this.cameraIds = cameraIds;
    }


    @Override
    public String toString() {
        return "AyStructureTask{name=" + name +
                ",beginTime=" + beginTime +
                ",endTime=" + endTime +
                ",status=" + status +
                ", type=" + type +
                ",cameraIds=" + cameraIds +
                "}";
    }
}
